namespace AccountKeeper {
  export interface SearchForm extends Base.Pagination {
    shortNameList: string;
    name: string;
    receiveAccount: string;
    openBankList: string[];
    deptIdList: string[];
    accountPropertiesList: string[];
    currencyList: string[];
    paymentMethodList: string[];
  }
  export type ListRows = {
    id: string;
    status: number;
    [propName: string]: any;
  };
  export interface AddForm {
    carrier: string;
    carrierCode: string;
  }

  export interface SearchFormParmas extends Base.Pagination {
    shortNameList: string[];
    name: string;
    receiveAccount: string;
    openBankList: string[];
    deptIdList: string[];
    accountPropertiesList: string[];
    currencyList: string[];
    paymentMethodList: string[];
  }

  export interface editForm {
    id?: string;
    bankName: string; //开户行名称
    sisterBankNum: string; //联行号
    isSyncBill: number; //是否同步账单
    remark: string; //备注
  }

  interface AccountDetails {
    shortName: string; // 账户简称
    receiveAccount: string; // 账号
    openBank: string; // 开户银行
    bankName: string; // 开户行名称
    currency: string; // 币种
    sisterBankNum: string; // 联行号
    paymentMethod: string; // 收款方式
    isSyncBill: number; // 是否同步账单
    remark: string; // 备注
  }

  interface FormItem {
    accountProperties: string; // 账户性质
    name: string; // 户名
    deptAccountDtoList: AccountDetails[]; // 账号列表
  }

  export type FormState = {
    accountList: FormItem[];
    deptId: string;
  };
}
